/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager.visualizar;

import br.com.deployment.entidade.empresa.Fornecedor;
import br.com.deployment.entidade.selo.DetalheEntradaSelo;
import br.com.deployment.entidade.selo.EntradaSelo;
import br.com.deployment.servico.DetalheEntradaSeloServico;
import br.com.deployment.servico.EntradaSeloServico;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author luciano
 */
@ManagedBean
@SessionScoped
public class ManagerVisualizarEntradaSelo implements Serializable{
    
    @EJB
    EntradaSeloServico entradaSeloServico;
    @EJB
    DetalheEntradaSeloServico detalheEntradaSeloServico;
    
    Integer numeroNota;
    private EntradaSelo entradaSelo;
    private List<EntradaSelo> entradaSelos;
    private Fornecedor fornecedor;

    
    private EntradaSelo entradaSeloVisualizar;
    private List<DetalheEntradaSelo> detalhes;
    
    public ManagerVisualizarEntradaSelo() {
        entradaSelo = new EntradaSelo();
        entradaSelos = new ArrayList<EntradaSelo>();
    }
    
    public void buscar(){
        this.entradaSelo.setNumeroNota(numeroNota == null ? 0 : numeroNota);
        entradaSelos = entradaSeloServico.findEntradaSelo(entradaSelo, fornecedor);
    }
    
    public void redirect(String string, EntradaSelo entradaSelo) {
        try {
            FacesContext context = FacesContext.getCurrentInstance();
            this.entradaSeloVisualizar = entradaSelo ;
            
            this.detalhes =  detalheEntradaSeloServico.getEntradaSelo(entradaSeloVisualizar);
            context.getExternalContext().redirect(string);
        } catch (IOException ex) {
            Logger.getLogger(ManagerVisualizarEmolumento.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public EntradaSelo getEntradaSelo() {
        return entradaSelo;
    }

    public Fornecedor getFornecedor() {
        return fornecedor;
    }

    public void setFornecedor(Fornecedor fornecedor) {
        this.fornecedor = fornecedor;
    }

    public void setEntradaSelo(EntradaSelo entradaSelo) {
        this.entradaSelo = entradaSelo;
    }

    public List<EntradaSelo> getEntradaSelos() {
        return entradaSelos;
    }

    public void setEntradaSelos(List<EntradaSelo> entradaSelos) {
        this.entradaSelos = entradaSelos;
    }

    public Integer getNumeroNota() {
        return numeroNota;
    }

    public void setNumeroNota(Integer numeroNota) {
        this.numeroNota = numeroNota;
    }

    public EntradaSelo getEntradaSeloVisualizar() {
        return entradaSeloVisualizar;
    }

    public void setEntradaSeloVisualizar(EntradaSelo entradaSeloVisualizar) {
        this.entradaSeloVisualizar = entradaSeloVisualizar;
    }

    public List<DetalheEntradaSelo> getDetalhes() {
        return detalhes;
    }

    public void setDetalhes(List<DetalheEntradaSelo> detalhes) {
        this.detalhes = detalhes;
    }
    
    
    
    
    
}
